package com.sea.supply.mapper;

import com.sea.supply.entity.Produce;

import java.util.List;


/**
 *  采购单接口
 * @author 陈鸿飞
 * <br/>
 */
public interface ProduceMapper {


    /**
     * 新增
     * @param produce
     * @return
     */
    int insert(Produce produce);

    /**
     * 获取最大ID
     * @return
     */
    Integer getMaxId();

    /**
     * 条件查询
     * @param produce
     * @return
     */
    List<Produce> findByCnd(Produce produce);

    /**
     * 查询预付信息
     * @param produce
     * @return
     */
    List<Produce> findByPayment(Produce produce);

    /**
     * 更新采购订单表头
     * @param id
     * @return
     */
    int updateProduceTotal(Integer id);

    /**
     * 更新
     * @param produce
     * @return
     */
    int update(Produce produce);

    /**
     * 查询指定
     * @param id
     * @return
     */
    Produce findById(Integer id);

    /**
     * 查询各个状态下的数量
     * @return
     */
    List<Produce> findStatusNumber();

    /**
     * 查询可退税PO
     * @return
     */
    List<Produce> findRefusedPo();

    /**
     * 根据PO更新退税状态
     * @param producePo
     * @return
     */
    int updateRefused(String producePo);

    /**
     * 根据请购单查询关联采购单
     * @param id
     * @return
     */
    List<Produce> findTotalByDetailId(Integer id);

    /**
     * 根据PO号查询明细
     * @param produceNo
     * @return
     */
    Produce findIdByPo(String produceNo);

    /**
     * 更新表头渠道
     * @return
     */
    Integer updateChannelName();

    /**
     * 修改采购单备注
     * @param produce
     * @return
     */
    Integer updatePaymentRemark(Produce produce);

    Integer updateReadyPayment(Integer id);
}